package iit.projects.etaxi.model.dao;

import iit.projects.etaxi.model.dto.SubCitySCDO;
import iit.projects.etaxi.model.entity.SubCity;
import iit.projects.etaxi.model.exception.DuplicateSubCityException;

import java.util.Map;
import java.util.Set;

public interface SubCityDao {
	
	public SubCity addSubCity(SubCity subCity) throws DuplicateSubCityException;
	
	public Set<SubCity> findSubCities(SubCitySCDO subCitySCDO);
	
	public SubCity updateSubCity(SubCity subCity);
	
	public void deleteSubCity(SubCity subCity);
	
	public Map<String, SubCity> setProximity(SubCity subCity1, SubCity subCity2);
	
	public Map<String, SubCity> removeProximity(SubCity selectedSubCity, SubCity removingSubCity);
	
	public SubCity findSubCityByName(String name);
}
